#pragma once
#include "stdafx.h"
#include "Grid.h"

int GetPoints(char letter);
int BSolve(Grid * grid);

/*class Move {
public:
	Move(){
			
	};
	struct pos letters[30];
	int length;
	int points;
	Grid * postgrid;
};*/

class Solver
{
public:
	int allpoints;
	int runtime;
	int letters;
	int words;
	int tail;
	int gtailmult;
	int ltailmult;
	int ratiomult;
	int clearances;
	int variable;

	//int letcount[26];
	void (*pDraw)(Grid * grid);

	void Solve(Grid * input);
	void PopWord();
	//Grid * start;
	int nummoves;
	Grid * start;
	//std::vector<Grid*> moves;

	//gridlist * moves;
	/*std::vector<Move*> moves;
	~Solver() {
		std::vector<Move*>::iterator iter;
		for (iter = moves.begin(); iter != moves.end(); iter++ )
		{
			delete (*iter);
		}
	};*/
};

extern Solver * pSolve;